package com.zjwd.project.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zjwd.common.annotation.Excel;
import com.zjwd.common.core.domain.BaseEntity;

/**
 * 建设项目对象 pro_project
 * 
 * @author liquan
 * @date 2024-12-04
 */
public class ProProject extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 项目ID */
    private Integer projectId;

    /** 系统平台 */
    @Excel(name = "系统平台")
    private String platformCode;

    /** 项目编码 */
    @Excel(name = "项目编码")
    private String projectCode;

    /** 项目全称 */
    @Excel(name = "项目全称")
    private String projectFullName;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String projectType;

    /** 建设单位 */
    @Excel(name = "建设单位")
    private String constructionUnit;

    /**
     * 省
     */
    @Excel(name = "省")
    private String province;

    /**
     * 市
     */
    @Excel(name = "市")
    private String city;

    /**
     * 县
     */
    @Excel(name = "县")
    private String county;

    /** 总投资 */
    @Excel(name = "总投资")
    private BigDecimal total;

    /** 工期 */
    @Excel(name = "工期")
    private Integer period;

    /** 开工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 完工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 项目概况 */
    @Excel(name = "项目概况")
    private String describe;

    /**
     * 城市级联列表
     */
    private String[] citys;

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public Integer getProjectId() {
        return projectId;
    }
    public void setPlatformCode(String platformCode) {
        this.platformCode = platformCode;
    }

    public String getPlatformCode() {
        return platformCode;
    }
    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectCode() {
        return projectCode;
    }
    public void setProjectFullName(String projectFullName) {
        this.projectFullName = projectFullName;
    }

    public String getProjectFullName() {
        return projectFullName;
    }
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }
    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    public String getProjectType() {
        return projectType;
    }
    public void setConstructionUnit(String constructionUnit) {
        this.constructionUnit = constructionUnit;
    }

    public String getConstructionUnit() {
        return constructionUnit;
    }
    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCounty() {
        return county;
    }

    public void setCounty(String county) {
        this.county = county;
    }

    public BigDecimal getTotal() {
        return total;
    }
    public void setPeriod(Integer period) {
        this.period = period;
    }

    public Integer getPeriod() {
        return period;
    }
    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() {
        return beginDate;
    }
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getEndDate() {
        return endDate;
    }
    public void setDescribe(String describe) {
        this.describe = describe;
    }

    public String getDescribe() {
        return describe;
    }

    public String[] getCitys() {
        return citys;
    }

    public void setCitys(String[] citys) {
        this.citys = citys;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("platformCode", getPlatformCode())
            .append("projectCode", getProjectCode())
            .append("projectFullName", getProjectFullName())
            .append("projectName", getProjectName())
            .append("projectType", getProjectType())
            .append("constructionUnit", getConstructionUnit())
            .append("province", getProvince())
            .append("city", getCity())
            .append("county", getCounty())
            .append("total", getTotal())
            .append("period", getPeriod())
            .append("beginDate", getBeginDate())
            .append("endDate", getEndDate())
            .append("describe", getDescribe())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
